package com.note.feng.leetcode.algorithms.easy.thirteen;

public class ThousandThreeHundredFour {

    /**
     * 1304. 和为零的 N 个不同整数
     * 给你一个整数 n，请你返回 任意 一个由 n 个 各不相同 的整数组成的数组，并且这 n 个数相加和为 0 。
     *
     * 示例 1：
     *
     * 输入：n = 5
     * 输出：[-7,-1,1,3,4]
     * 解释：这些数组也是正确的 [-5,-1,1,2,3]，[-3,-1,2,-2,4]。
     * 示例 2：
     *
     * 输入：n = 3
     * 输出：[-1,0,1]
     * 示例 3：
     *
     * 输入：n = 1
     * 输出：[0]
     *
     * 提示：
     *
     * 1 <= n <= 1000
     */

    /**
     * 解法：模拟
     * n 个不同的数字，每次添加两个数字，一正一负，和为0
     * 因为默认数组初始化时默认是0 ，如果 n 是奇数，不需要处理
     * @param n
     * @return
     */
    public int[] sumZero(int n) {
        int [] res = new int[n];
        for(int i = 0; i < n / 2; i ++){
            res[i] = i + 1;
            res[n - i - 1] = res[i] * -1;
        }
        return res;
    }
}
